package cn.fws.meap.user.mapper;

import cn.fws.meap.user.entity.Concern;
import cn.fws.meap.user.vo.ConcernInitMsgVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 关注用户 数据层
 * 
 * @author chenkh
 * @date 2019-03-07
 */
@Mapper
public interface ConcernMapper {
	/**
     * 查询关注用户信息
     * 
     * @param id 关注用户ID
     * @return 关注用户信息
     */
	public Concern selectById(String id);
	
	/**
     * 查询关注用户列表
     * 
     * @param concern 关注用户信息
     * @return 关注用户集合
     */
	public List<Concern> selectList(Concern concern);
	
	/**
     * 新增关注用户
     * 
     * @param concern 关注用户信息
     * @return 结果
     */
	public int insert(Concern concern);
	
	/**
     * 修改关注用户
     * 
     * @param concern 关注用户信息
     * @return 结果
     */
	public int update(Concern concern);
	
	/**
     * 删除关注用户
     * 
     * @param id 关注用户ID
     * @return 结果
     */
	public int deleteById(String id);
	
	/**
     * 批量删除关注用户
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteByIds(String[] ids);

	/**
	 * 关注的状态
	 * @param selfOpenId
	 * @param itOpenId
	 * @return
	 */
	Concern selectConcernStatus(@Param("selfOpenId") String selfOpenId,@Param("itOpenId") String itOpenId);

	/**
	 * 粉丝关注数量
	 * @param openId
	 * @return
	 */
	ConcernInitMsgVo selectFansCount(String openId);


	/**
	 * 删除关注状态
	 * @param selfOpenid
	 * @param itOpenid
	 * @return
	 */
	int deleteByOpenId(@Param("selfOpenid")String selfOpenid,@Param("itOpenid") String itOpenid);
}